有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用for循环在一个范围内添加偶数

我必须创建一个程序,从用户那里获取一个范围,然后将范围中的每个偶数相加,并打印到屏幕上。我正在努力找出如何在for循环中添加每个数字。如果范围为5到10,屏幕应打印24作为答案。下面是我的代码

//worksheet 4 - question 3
//asks user for a range. Adds even numbers in range and prints their sum.

import java.util.Scanner;

class P3LoopRange
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        int initial, finalValue;

        System.out.print("Enter a start value: ");
        initial = input.nextInt();

        System.out.print("Enter a second value: ");
        finalValue = input.nextInt();

        while (finalValue <= initial)
        {
            System.out.println("Second value must be larger than start value.");
            System.out.print("Enter a second value: ");
            finalValue = input.nextInt();
        }

        int range = finalValue - initial;

        int x = 0

        for (int i = initial; i <= finalValue; i++)
        {
            if (i%2==0)
            {
                int x = x+i;

            }
        }
        System.out.printf(x);
    }
}

共 (3) 个答案

  1. # 1 楼答案

    int x = x+i;更改为x=x+i;。这里您每次都在初始化x

  2. # 2 楼答案

    问题在:int x = x+i;

    只要删除int,您的问题就解决了

  3. # 3 楼答案

    您声明了两次x局部变量
    您不能这样做,因为具有重复的局部变量是不合法的
    此外,在循环中声明它会使它在每次迭代中被覆盖
    所以,只要在循环之前声明它就可以了

    int x = 0;
    
    for (int i = initial; i <= finalValue; i++)
    {
        if (i%2 == 0)
        {
            x = x + i;
    
        }
    }